<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=iso-8859-1">
<title>The Example JSP Pages - The Java EE 5 Tutorial</title>
<meta name="robots" content="index,follow">
<meta name="robots" content="index,follow">
<meta name="date" content="2008-10-01">
<link rel="stylesheet" type="text/css" href="css/default.css">
<link rel="stylesheet" type="text/css" href="css/ipg.css">
<link rel="stylesheet" type="text/css" href="css/j5eetutorial.css">
</head>

<body>

<table border="0" cellpadding="5" cellspacing="0" width="100%">
<tbody>
   <tr valign="top">
      <td><p class="toc level1"><a href="docinfo.html">Document Information</a></p>
<p class="toc level1 tocsp"><a href="gexaf.html">Preface</a></p>
<p class="toc level1 tocsp"><a href="gfirp.html">Part&nbsp;I&nbsp;Introduction</a></p>
<p class="toc level2"><a href="bnaaw.html">1.&nbsp;&nbsp;Overview</a></p>
<p class="toc level2"><a href="gfiud.html">2.&nbsp;&nbsp;Using the Tutorial Examples</a></p>
<p class="toc level1 tocsp"><a href="bnadp.html">Part&nbsp;II&nbsp;The Web Tier</a></p>
<p class="toc level2"><a href="bnadr.html">3.&nbsp;&nbsp;Getting Started with Web Applications</a></p>
<p class="toc level2"><a href="bnafd.html">4.&nbsp;&nbsp;Java Servlet Technology</a></p>
<p class="toc level2"><a href="bnagx.html">5.&nbsp;&nbsp;JavaServer Pages Technology</a></p>
<p class="toc level2"><a href="bnajo.html">6.&nbsp;&nbsp;JavaServer Pages Documents</a></p>
<p class="toc level2"><a href="bnakc.html">7.&nbsp;&nbsp;JavaServer Pages Standard Tag Library</a></p>
<div class="onpage">
<p class="toc level3"><a href="">The Example JSP Pages</a></p>
</div>
<p class="toc level3"><a href="bnake.html">Using JSTL</a></p>
<p class="toc level4"><a href="bnake.html#bnakg">Tag Collaboration</a></p>
<p class="toc level3 tocsp"><a href="bnakh.html">Core Tag Library</a></p>
<p class="toc level4"><a href="bnakh.html#bnakj">Variable Support Tags</a></p>
<p class="toc level4"><a href="bnakh.html#bnakk">Flow Control Tags</a></p>
<p class="toc level5"><a href="bnakh.html#bnakl">Conditional Tags</a></p>
<p class="toc level5"><a href="bnakh.html#bnakm">Iterator Tags</a></p>
<p class="toc level4 tocsp"><a href="bnakh.html#bnakn">URL Tags</a></p>
<p class="toc level4"><a href="bnakh.html#bnako">Miscellaneous Tags</a></p>
<p class="toc level3 tocsp"><a href="bnakq.html">XML Tag Library</a></p>
<p class="toc level4"><a href="bnakq.html#bnakt">Core Tags</a></p>
<p class="toc level4"><a href="bnakq.html#bnaku">Flow Control Tags</a></p>
<p class="toc level4"><a href="bnakq.html#bnakv">Transformation Tags</a></p>
<p class="toc level3 tocsp"><a href="bnakw.html">Internationalization Tag Library</a></p>
<p class="toc level4"><a href="bnakw.html#bnaky">Setting the Locale</a></p>
<p class="toc level4"><a href="bnakw.html#bnakz">Messaging Tags</a></p>
<p class="toc level5"><a href="bnakw.html#bnala">The <tt>setBundle</tt> and <tt>bundle</tt> Tags</a></p>
<p class="toc level5"><a href="bnakw.html#bnalb">The <tt>message</tt> Tag</a></p>
<p class="toc level4 tocsp"><a href="bnakw.html#bnalc">Formatting Tags</a></p>
<p class="toc level3 tocsp"><a href="bnald.html">SQL Tag Library</a></p>
<p class="toc level4"><a href="bnald.html#bnalf"><tt>query</tt> Tag Result Interface</a></p>
<p class="toc level3 tocsp"><a href="bnalg.html">JSTL Functions</a></p>
<p class="toc level3"><a href="bnali.html">Further Information about JSTL</a></p>
<p class="toc level2 tocsp"><a href="bnalj.html">8.&nbsp;&nbsp;Custom Tags in JSP Pages</a></p>
<p class="toc level2"><a href="bnaon.html">9.&nbsp;&nbsp;Scripting in JSP Pages</a></p>
<p class="toc level2"><a href="bnaph.html">10.&nbsp;&nbsp;JavaServer Faces Technology</a></p>
<p class="toc level2"><a href="bnaqz.html">11.&nbsp;&nbsp;Using JavaServer Faces Technology in JSP Pages</a></p>
<p class="toc level2"><a href="bnatx.html">12.&nbsp;&nbsp;Developing with JavaServer Faces Technology</a></p>
<p class="toc level2"><a href="bnavg.html">13.&nbsp;&nbsp;Creating Custom UI Components</a></p>
<p class="toc level2"><a href="bnawo.html">14.&nbsp;&nbsp;Configuring JavaServer Faces Applications</a></p>
<p class="toc level2"><a href="bnaxu.html">15.&nbsp;&nbsp;Internationalizing and Localizing Web Applications</a></p>
<p class="toc level1 tocsp"><a href="bnayk.html">Part&nbsp;III&nbsp;Web Services</a></p>
<p class="toc level2"><a href="bnayl.html">16.&nbsp;&nbsp;Building Web Services with JAX-WS</a></p>
<p class="toc level2"><a href="bnazf.html">17.&nbsp;&nbsp;Binding between XML Schema and Java Classes</a></p>
<p class="toc level2"><a href="bnbdv.html">18.&nbsp;&nbsp;Streaming API for XML</a></p>
<p class="toc level2"><a href="bnbhf.html">19.&nbsp;&nbsp;SOAP with Attachments API for Java</a></p>
<p class="toc level1 tocsp"><a href="bnblr.html">Part&nbsp;IV&nbsp;Enterprise Beans</a></p>
<p class="toc level2"><a href="bnbls.html">20.&nbsp;&nbsp;Enterprise Beans</a></p>
<p class="toc level2"><a href="bnbnb.html">21.&nbsp;&nbsp;Getting Started with Enterprise Beans</a></p>
<p class="toc level2"><a href="bnboc.html">22.&nbsp;&nbsp;Session Bean Examples</a></p>
<p class="toc level2"><a href="bnbpk.html">23.&nbsp;&nbsp;A Message-Driven Bean Example</a></p>
<p class="toc level1 tocsp"><a href="bnbpy.html">Part&nbsp;V&nbsp;Persistence</a></p>
<p class="toc level2"><a href="bnbpz.html">24.&nbsp;&nbsp;Introduction to the Java Persistence API</a></p>
<p class="toc level2"><a href="bnbrl.html">25.&nbsp;&nbsp;Persistence in the Web Tier</a></p>
<p class="toc level2"><a href="bnbrs.html">26.&nbsp;&nbsp;Persistence in the EJB Tier</a></p>
<p class="toc level2"><a href="bnbtg.html">27.&nbsp;&nbsp;The Java Persistence Query Language</a></p>
<p class="toc level1 tocsp"><a href="bnbwi.html">Part&nbsp;VI&nbsp;Services</a></p>
<p class="toc level2"><a href="bnbwj.html">28.&nbsp;&nbsp;Introduction to Security in the Java EE Platform</a></p>
<p class="toc level2"><a href="bnbyk.html">29.&nbsp;&nbsp;Securing Java EE Applications</a></p>
<p class="toc level2"><a href="bncas.html">30.&nbsp;&nbsp;Securing Web Applications</a></p>
<p class="toc level2"><a href="bncdq.html">31.&nbsp;&nbsp;The Java Message Service API</a></p>
<p class="toc level2"><a href="bncgv.html">32.&nbsp;&nbsp;Java EE Examples Using the JMS API</a></p>
<p class="toc level2"><a href="bncih.html">33.&nbsp;&nbsp;Transactions</a></p>
<p class="toc level2"><a href="bncjh.html">34.&nbsp;&nbsp;Resource Connections</a></p>
<p class="toc level2"><a href="bncjx.html">35.&nbsp;&nbsp;Connector Architecture</a></p>
<p class="toc level1 tocsp"><a href="bnckn.html">Part&nbsp;VII&nbsp;Case Studies</a></p>
<p class="toc level2"><a href="bncko.html">36.&nbsp;&nbsp;The Coffee Break Application</a></p>
<p class="toc level2"><a href="bnclz.html">37.&nbsp;&nbsp;The Duke's Bank Application</a></p>
<p class="toc level1 tocsp"><a href="gexbq.html">Part&nbsp;VIII&nbsp;Appendixes</a></p>
<p class="toc level2"><a href="bncno.html">A.&nbsp;&nbsp;Java Encoding Schemes</a></p>
<p class="toc level2"><a href="bncnq.html">B.&nbsp;&nbsp;Preparation for Java EE Certification Exams</a></p>
<p class="toc level2"><a href="bncnt.html">C.&nbsp;&nbsp;About the Authors</a></p>
<p class="toc level1 tocsp"><a href="idx-1.html">Index</a></p>
</td>
      <td width="10px">&nbsp;</td>
      <td width="705px">
         <div class="header">
             <div class="header-links-top">
                 <a href="http://java.sun.com">java.sun.com</a> |
                 <a href="http://docs.sun.com/">docs.sun.com</a><br>
             </div> 
             <img src="graphics/tutorialBanner.gif" width="704" height="120" alt="The Java&trade; EE 5 Tutorial"/>
             <div class="header-links">
	         <a href="index.html">Home</a> |
                 <a href="http://java.sun.com/javaee/5/docs/tutorial/information/download.html">Download</a> |
                 <a href="http://java.sun.com/javaee/5/docs/tutorial/doc/JavaEETutorial.pdf">PDF</a> |
                 <a href="http://java.sun.com/javaee/5/docs/api/index.html">API</a> |
                 <a href="http://java.sun.com/javaee/5/docs/tutorial/information/faq.html">FAQ</a> |
                 <a href="http://java.sun.com/javaee/5/docs/tutorial/information/search.html">Search</a> |
                 <a href="http://java.sun.com/javaee/5/docs/tutorial/information/sendusmail.html">Feedback</a> |
                 <a href="http://java.sun.com/javaee/5/docs/tutorial/information/history.html">History</a>
             </div>
             <div class="navigation">
                 <a href="bnakc.html"><img style="padding-right: 3px" src="graphics/leftButton.gif" border="0"></a>
                 <a href="sjsaseej2eet.html"><img style="padding-right: 3px" src="graphics/upButton.gif" border="0"></a>
                 <a href="bnake.html"><img style="padding-left: 3px" src="graphics/rightButton.gif" border="0"></a>
             </div>
         </div>

	 <div class="maincontent">      	 
             

<a name="bnakd"></a><h3>The Example JSP Pages</h3>
<p><a name="indexterm-451"></a><a name="indexterm-452"></a>This chapter illustrates JSTL using excerpts from the JSP version of the Duke&rsquo;s
Bookstore application discussed in <a href="bnagx.html">Chapter&nbsp;5, JavaServer Pages Technology</a>. Here, they are rewritten to replace the JavaBeans
component database access object with direct calls to the database using the JSTL
SQL tags. For most applications, it is better to encapsulate calls to a
database in a bean. JSTL includes SQL tags for situations where a new
application is being prototyped and the overhead of creating a bean may not
be warranted.</p><p>The source for the Duke&rsquo;s Bookstore application is located in the <tt></tt><i>tut-install</i><tt>/javaeetutorial5/examples/web/bookstore4/</tt> directory created
when you unzip the tutorial bundle (see <a href="gfiud.html">Chapter&nbsp;2, Using the Tutorial Examples</a>).</p><p>To deploy and run the application using NetBeans IDE, follow these steps:</p>
<ol><li><p>Perform all the operations described in <a href="bnaez.html">Accessing Databases from Web Applications</a>.</p></li>
<li><p>In NetBeans IDE, select File&rarr;Open Project.</p></li>
<li><p>In the Open Project dialog, navigate to:</p><pre><i>tut-install</i>/javaeetutorial5/examples/web/</pre></li>
<li><p>Select the <tt>bookstore4</tt> folder.</p></li>
<li><p>Select the Open as Main Project check box and the Open Required Projects check box.</p></li>
<li><p>Click Open Project.</p></li>
<li><p>In the Projects tab, right-click the <tt>bookstore4</tt> project, and select Undeploy and Deploy.</p></li>
<li><p>To run the application, open the bookstore URL <tt>http://localhost:8080/bookstore4/books/bookstore</tt>.</p></li></ol>
<p>To deploy and run the application using Ant, follow these steps:</p>
<ol><li><p>In a terminal window, go to <tt></tt><i>tut-install</i><tt>/javaeetutorial5/examples/web/bookstore4/</tt>.</p></li>
<li><p>Type <tt><b>ant</b></tt>. This command will spawn any necessary compilations, copy files to the <tt></tt><i>tut-install</i><tt>/javaeetutorial5/examples/web/bookstore4/build/</tt> directory, and create a WAR file and copy it to the <tt></tt><i>tut-install</i><tt>/javaeetutorial5/examples/web/bookstore4/dist/</tt> directory.</p></li>
<li><p>Start the Application Server.</p></li>
<li><p>Perform all the operations described in <a href="bnaez.html#bnafb">Creating a Data Source in the Application Server</a>.</p></li>
<li><p>To deploy the example, type <tt><b>ant deploy</b></tt>. The <tt>deploy</tt> target outputs a URL for running the application. Ignore this URL, and instead use the one shown in the next step.</p></li>
<li><p>To run the application, open the bookstore URL <tt>http://localhost:8080/bookstore4/books/bookstore</tt>.</p></li></ol>
<p>To learn how to configure the example, refer to the <tt>web.xml</tt> file, which
includes the following configurations:</p>
<ul><li><p>A <tt>display-name</tt> element that specifies the name that tools use to identify the application.</p></li>
<li><p>A <tt>context-param</tt> element that specifies the JSTL resource bundle base name.</p></li>
<li><p>A set of <tt>servlet</tt> elements that identify the application&rsquo;s JSP files.</p></li>
<li><p>A set of <tt>servlet-mapping</tt> elements that define the aliases to the JSP files.</p></li>
<li><p>Nested inside a <tt>jsp-config</tt> element are two <tt>jsp-property-group</tt> elements, which define the preludes and coda to be included in each page. See <a href="bnair.html#bnaiu">Setting JavaBeans Component Properties</a> for more information.</p></li></ul>
<p>See <a href="bnaff.html#bnafh">Troubleshooting Duke's Bookstore Database Problems</a> for help with diagnosing common problems.</p>
         </div>
         <div class="navigation">
             <a href="bnakc.html"><img style="padding-right: 3px" src="graphics/leftButton.gif" border="0"></a>
             <a href="sjsaseej2eet.html"><img style="padding-right: 3px" src="graphics/upButton.gif" border="0"></a>
             <a href="bnake.html"><img style="padding-left: 3px" src="graphics/rightButton.gif" border="0"></a>
         </div>

         <div class="copyright">
      	    <p>The material in The Java&trade; EE 5 Tutorial is <a href='docinfo.html'>copyright</a>-protected and may not be published in other works without express written permission from Sun Microsystems.</p>
      	 </div>

      </td>
   </tr>
</tbody>
</table>
</body>
</html>

